package com.zhucan.stream.binder;

import org.springframework.amqp.core.MessageBuilder;
import org.springframework.cloud.stream.annotation.EnableBinding;
import org.springframework.cloud.stream.annotation.Input;
import org.springframework.cloud.stream.annotation.Output;
import org.springframework.messaging.MessageChannel;
import org.springframework.messaging.SubscribableChannel;
import org.springframework.stereotype.Component;

/**
 * @author zhuCan
 * @email zhucan@co-mall.com
 * @description
 * @since 2020/8/20 9:06
 */
@Component
public interface OrderStreamBinder {

  String ORDER_INPUT = "ORDER_INPUT";

  String ORDER_OUTPUT = "ORDER_OUTPUT";

  String ORDER_INPUT_ROUTE = "ORDER_INPUT_ROUTE";

  String ORDER_OUTPUT_ROUTE = "ORDER_OUTPUT_ROUTE";

  String ORDER_INPUT_ROUTE_TEST = "ORDER_INPUT_ROUTE_TEST";

  String ORDER_OUTPUT_ROUTE_TEST = "ORDER_OUTPUT_ROUTE_TEST";



  @Input(ORDER_INPUT)
  SubscribableChannel consumer();

  @Output(ORDER_OUTPUT)
  MessageChannel producer();

  @Input(ORDER_INPUT_ROUTE)
  SubscribableChannel consumerRoute();

  @Output(ORDER_OUTPUT_ROUTE)
  MessageChannel producerRoute();

  @Input(ORDER_INPUT_ROUTE_TEST)
  SubscribableChannel consumerRouteTest();

  @Output(ORDER_OUTPUT_ROUTE_TEST)
  MessageChannel producerRouteTest();



}
